// pages/mine/mine.js
const app = getApp();
const promisify = require("../../utils/promisify")

Page({

  /**
   * 页面的初始数据
   */
  data: {
    hasLogin: false,
    login: true,
    username: '',
    password: ''
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (data) {
    /**
     * 判断用户是否已经登录
     */
    let that = this
    that.setData({
      hasLogin: app.globalData.hasLogin
    })
  },
  changeView: function () {
    /**
     * 切换登录和注册页面
     */
    let that = this
    let change = !that.data.login
    that.setData({
      login: change
    })
  },
  usernameInput: function (e) {
    /**
     * 用户名输入框
     */
    this.setData({
      username: e.detail.value
    })
  },
  passwordInput: function (e) {
    /**
     * 密码输入框
     */
    this.setData({
      password: e.detail.value
    })
  },
  login: function () {
    /**
     * 发送用户名和密码到服务器，根据返回码，判断是否登录成功
     * 如果验证成功，更改本地缓存hasLogin，？？要不要在本地记录用户名密码信息？？
     * 如果验证失败，则重新输入
     */
    let that = this
    that.setData({
      hasLogin: true
    })
    promisify(wx.setStorage)(
      {
        key: "hasLogin",
        data: true
      }
    )
  },
  sign: function () {
    /**
     * 发送用户名和密码到服务器，根据返回码，判断是否注册成功
     * 如果注册成功，直接登录，更改本地缓存hasLogin
     * 如果失败，重新注册
     */
    let that = this
    that.setData({
      hasLogin: true
    })
    promisify(wx.setStorage)(
      {
        key: "hasLogin",
        data: true
      }
    )
  },
  logout: function () {
    let that = this
    promisify(wx.showModal)({
      title: "是否确定退出登录",
      confirmText: "确定",
      cancelText: "取消"
    }).then(
      data => {
        if (data.confirm) {
          that.setData({
            hasLogin: false
          })
          promisify(wx.setStorage)({
            key: "hasLogin",
            data: false
          }).then(
            data => {
              console.log("退出登录")
            },
            err => {
              console.log(err)
            }
          )
        } else if (data.cancel) {
          console.log("取消退出")
        }
      },
      err => {
        console.log(err)
      }
    )
  }
})